From: Tassilo Horn Date: Thu, 11 Aug 2011 09:30:47 +0000 (+0200) Subject: Use user-defined calendar application for the date menu calendar button X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~7944 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=d80b7be6caa9bfe32112aada4d4123a9ee26f75f;p=gnome-shell.git Use user-defined calendar application for the date menu calendar button Use the existing setting org.gnome.desktop.default-applications.office.calendar.exec as calendar application instead of the hard-coded evolution. Evolution is still the fallback if that setting is cleared (it defaults to evolution). https://bugzilla.gnome.org/show_bug.cgi?id=651190 --- diff --git a/js/ui/dateMenu.js b/js/ui/dateMenu.js index d288947bd..a48fde777 100644 --- a/js/ui/dateMenu.js +++ b/js/ui/dateMenu.js @@ -205,7 +205,24 @@ DateMenuButton.prototype = { _onOpenCalendarActivate: function() { this.menu.close(); - // TODO: pass the selected day - Util.spawn(['evolution', '-c', 'calendar']); + let calendarSettings = new Gio.Settings({ schema: 'org.gnome.desktop.default-applications.office.calendar' }); + let tool = calendarSettings.get_string('exec'); + if (tool.length == 0 || tool == 'evolution') { + // TODO: pass the selected day + Util.spawn(['evolution', '-c', 'calendar']); + } else { + let needTerm = calendarSettings.get_boolean('needs-term'); + if (needTerm) { + let terminalSettings = new Gio.Settings({ schema: 'org.gnome.desktop.default-applications.terminal' }); + let term = terminalSettings.get_string('exec'); + let arg = terminalSettings.get_string('exec-arg'); + if (arg != '') + Util.spawn([term, arg, tool]); + else + Util.spawn([term, tool]); + } else { + Util.spawnCommandLine(tool) + } + } } };